[INFO] cloning repository https://github.com/paritytech/whisper
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/paritytech/whisper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fparitytech%2Fwhisper", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fparitytech%2Fwhisper'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e68b28c0ff8cacfc160f8c5dbc8dc56182155c00
[INFO] testing paritytech/whisper against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fparitytech%2Fwhisper" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/paritytech/whisper
[INFO] finished tweaking git repo https://github.com/paritytech/whisper
[INFO] tweaked toml for git repo https://github.com/paritytech/whisper written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/paritytech/whisper on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/paritytech/whisper already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: cli/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `whisper-cli` (manifest) generated 1 warning
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `parity-whisper` (manifest) generated 1 warning
[INFO] [stderr]     Updating git repository `https://github.com/paritytech/parity-ethereum.git`
[INFO] [stderr]     Updating git submodule `https://github.com/ethereum/tests.git`
[INFO] [stderr]     Updating git submodule `https://github.com/paritytech/wasm-tests`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/paritytech/rust-secp256k1`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quote v0.6.12
[INFO] [stderr]   Downloaded zeroize v0.9.2
[INFO] [stderr]   Downloaded tiny-keccak v1.5.0
[INFO] [stderr]   Downloaded zeroize_derive v0.9.0
[INFO] [stderr]   Downloaded ethbloom v0.6.4
[INFO] [stderr]   Downloaded fixed-hash v0.3.2
[INFO] [stderr]   Downloaded syn v0.15.39
[INFO] [stderr]   Downloaded static_assertions v0.2.5
[INFO] [stderr]   Downloaded impl-codec v0.2.0
[INFO] [stderr]   Downloaded parity-codec v3.5.4
[INFO] [stderr]   Downloaded serde v1.0.94
[INFO] [stderr]   Downloaded jsonrpc-server-utils v12.0.0
[INFO] [stderr]   Downloaded strsim v0.9.2
[INFO] [stderr]   Downloaded parity-snappy v0.1.0
[INFO] [stderr]   Downloaded futures v0.1.28
[INFO] [stderr]   Downloaded xmltree v0.8.0
[INFO] [stderr]   Downloaded edit-distance v2.1.0
[INFO] [stderr]   Downloaded utf8-ranges v1.0.3
[INFO] [stderr]   Downloaded hyper v0.12.31
[INFO] [stderr]   Downloaded slab v0.2.0
[INFO] [stderr]   Downloaded primitive-types v0.3.0
[INFO] [stderr]   Downloaded aes-ctr v0.3.0
[INFO] [stderr]   Downloaded autocfg v0.1.4
[INFO] [stderr]   Downloaded block-modes v0.3.3
[INFO] [stderr]   Downloaded parity-bytes v0.1.0
[INFO] [stderr]   Downloaded keccak-hash v0.2.0
[INFO] [stderr]   Downloaded env_logger v0.5.13
[INFO] [stderr]   Downloaded rustc-hex v1.0.0
[INFO] [stderr]   Downloaded stream-cipher v0.3.0
[INFO] [stderr]   Downloaded ipnetwork v0.12.8
[INFO] [stderr]   Downloaded rlp v0.4.0
[INFO] [stderr]   Downloaded lock_api v0.2.0
[INFO] [stderr]   Downloaded rustc-demangle v0.1.15
[INFO] [stderr]   Downloaded clear_on_drop v0.2.3
[INFO] [stderr]   Downloaded hmac v0.7.0
[INFO] [stderr]   Downloaded parity-util-mem v0.1.0
[INFO] [stderr]   Downloaded ordered-float v0.5.2
[INFO] [stderr]   Downloaded ctr v0.3.2
[INFO] [stderr]   Downloaded cmake v0.1.40
[INFO] [stderr]   Downloaded parity-path v0.1.1
[INFO] [stderr]   Downloaded impl-serde v0.2.0
[INFO] [stderr]   Downloaded jsonrpc-pubsub v12.0.0
[INFO] [stderr]   Downloaded rustc-hex v2.0.1
[INFO] [stderr]   Downloaded spin v0.5.0
[INFO] [stderr]   Downloaded ethereum-types v0.6.0
[INFO] [stderr]   Downloaded parity-crypto v0.4.0
[INFO] [stderr]   Downloaded igd v0.9.0
[INFO] [stderr]   Downloaded impl-rlp v0.2.0
[INFO] [stderr]   Downloaded elastic-array v0.10.2
[INFO] [stderr]   Downloaded proc-macro-crate v0.1.4
[INFO] [stderr]   Downloaded subtle v2.1.0
[INFO] [stderr]   Downloaded memzero v0.1.0
[INFO] [stderr]   Downloaded heapsize v0.4.2
[INFO] [stderr]   Downloaded scrypt v0.2.0
[INFO] [stderr]   Downloaded jsonrpc-core v12.0.0
[INFO] [stderr]   Downloaded ripemd160 v0.8.0
[INFO] [stderr]   Downloaded unicase v2.4.0
[INFO] [stderr]   Downloaded termion v1.5.3
[INFO] [stderr]   Downloaded malloc_size_of_derive v0.1.0
[INFO] [stderr]   Downloaded uint v0.7.1
[INFO] [stderr]   Downloaded derive_more v0.14.1
[INFO] [stderr]   Downloaded jsonrpc-http-server v12.0.0
[INFO] [stderr]   Downloaded parking_lot_core v0.5.0
[INFO] [stderr]   Downloaded jsonrpc-derive v12.0.0
[INFO] [stderr]   Downloaded serde_derive v1.0.94
[INFO] [stderr]   Downloaded cc v1.0.37
[INFO] [stderr]   Downloaded parking_lot v0.8.0
[INFO] [stderr]   Downloaded toml v0.5.1
[INFO] [stderr]   Downloaded backtrace v0.3.32
[INFO] [stderr]   Downloaded attohttpc v0.4.1
[INFO] [stderr]   Downloaded docopt v1.1.0
[INFO] [stderr]   Downloaded globset v0.4.4
[INFO] [stderr]   Downloaded aho-corasick v0.7.4
[INFO] [stderr]   Downloaded parity-wordlist v1.3.0
[INFO] [stderr]   Downloaded chrono v0.4.7
[INFO] [stderr]   Downloaded h2 v0.1.25
[INFO] [stderr]   Downloaded libc v0.2.58
[INFO] [stderr]   Downloaded regex v1.1.9
[INFO] [stderr]   Downloaded regex-syntax v0.6.8
[INFO] [stderr]   Downloaded bstr v0.2.1
[INFO] [stderr]   Downloaded backtrace-sys v0.1.30
[INFO] [stderr]   Downloaded parity-snappy-sys v0.1.2
[INFO] [stderr]   Downloaded ring v0.14.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c9c612df09ef523506ed125cbfe7b4ce0a09a95abf75fef830958202f2ecca24
[INFO] running `Command { std: "docker" "start" "-a" "c9c612df09ef523506ed125cbfe7b4ce0a09a95abf75fef830958202f2ecca24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9c612df09ef523506ed125cbfe7b4ce0a09a95abf75fef830958202f2ecca24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9c612df09ef523506ed125cbfe7b4ce0a09a95abf75fef830958202f2ecca24", kill_on_drop: false }`
[INFO] [stdout] c9c612df09ef523506ed125cbfe7b4ce0a09a95abf75fef830958202f2ecca24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3f8c2b4ccb6d5941105ea53c59ca4fa5a46f5f1e4591e31d12ff4ff3b8638d16
[INFO] running `Command { std: "docker" "start" "-a" "3f8c2b4ccb6d5941105ea53c59ca4fa5a46f5f1e4591e31d12ff4ff3b8638d16", kill_on_drop: false }`
[INFO] [stderr] warning: cli/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `whisper-cli` (manifest) generated 1 warning
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `parity-whisper` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.58
[INFO] [stderr]    Compiling autocfg v0.1.4
[INFO] [stderr]    Compiling serde v1.0.94
[INFO] [stderr]    Compiling cfg-if v0.1.9
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling cc v1.0.37
[INFO] [stderr]    Compiling futures v0.1.28
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling syn v0.15.39
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling smallvec v0.6.10
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling crossbeam-utils v0.6.5
[INFO] [stderr]    Compiling heapsize v0.4.2
[INFO] [stderr]    Compiling opaque-debug v0.2.2
[INFO] [stderr]    Compiling rustc-hex v2.0.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling block-cipher-trait v0.6.2
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling iovec v0.1.2
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling num_cpus v1.10.1
[INFO] [stderr]    Compiling net2 v0.2.33
[INFO] [stderr]    Compiling rlp v0.4.0
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling crossbeam-epoch v0.7.1
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling tokio-executor v0.1.8
[INFO] [stderr]    Compiling tokio-sync v0.1.6
[INFO] [stderr]    Compiling subtle v1.0.0
[INFO] [stderr]    Compiling mio v0.6.19
[INFO] [stderr]    Compiling static_assertions v0.2.5
[INFO] [stderr]    Compiling impl-rlp v0.2.0
[INFO] [stderr]    Compiling crypto-mac v0.7.0
[INFO] [stderr]    Compiling tiny-keccak v1.5.0
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling scopeguard v1.0.0
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling crossbeam-deque v0.7.1
[INFO] [stderr]    Compiling lock_api v0.2.0
[INFO] [stderr]    Compiling sha2 v0.8.0
[INFO] [stderr]    Compiling hmac v0.7.0
[INFO] [stderr]    Compiling crossbeam-queue v0.1.2
[INFO] [stderr]    Compiling uint v0.7.1
[INFO] [stderr]    Compiling aes-soft v0.3.3
[INFO] [stderr]    Compiling tokio-io v0.1.12
[INFO] [stderr]    Compiling cmake v0.1.40
[INFO] [stderr]    Compiling stream-cipher v0.3.0
[INFO] [stderr]    Compiling ryu v1.0.0
[INFO] [stderr]    Compiling eth-secp256k1 v0.5.7 (https://github.com/paritytech/rust-secp256k1#9791e79f)
[INFO] [stderr]    Compiling ctr v0.3.2
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling aes v0.3.2
[INFO] [stderr]    Compiling aes-ctr v0.3.0
[INFO] [stderr]    Compiling tokio-threadpool v0.1.15
[INFO] [stderr]    Compiling tokio-timer v0.2.11
[INFO] [stderr]    Compiling tokio-current-thread v0.1.6
[INFO] [stderr]    Compiling parity-snappy-sys v0.1.2
[INFO] [stderr]    Compiling clear_on_drop v0.2.3
[INFO] [stderr]    Compiling ripemd160 v0.8.0
[INFO] [stderr]    Compiling block-modes v0.3.3
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling subtle v2.1.0
[INFO] [stderr]    Compiling memzero v0.1.0
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling parity-wordlist v1.3.0
[INFO] [stderr]    Compiling crossbeam-deque v0.6.3
[INFO] [stderr]    Compiling ring v0.14.6
[INFO] [stderr]    Compiling edit-distance v2.1.0
[INFO] [stderr]    Compiling rustc-hex v1.0.0
[INFO] [stderr]    Compiling fixed-hash v0.3.2
[INFO] [stderr]    Compiling pbkdf2 v0.3.0
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling chrono v0.4.7
[INFO] [stderr]    Compiling elastic-array v0.10.2
[INFO] [stderr]    Compiling spin v0.5.0
[INFO] [stderr]    Compiling ipnetwork v0.12.8
[INFO] [stderr]    Compiling tokio-codec v0.1.1
[INFO] [stderr]    Compiling tokio-fs v0.1.6
[INFO] [stderr]    Compiling scrypt v0.2.0
[INFO] [stderr]    Compiling ordered-float v0.5.2
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling time-utils v0.1.0 (https://github.com/paritytech/parity-ethereum.git#fe7bc545)
[INFO] [stderr]    Compiling slab v0.3.0
[INFO] [stderr]    Compiling hex v0.2.0
[INFO] [stderr]    Compiling parity-crypto v0.4.0
[INFO] [stderr]    Compiling timer v0.2.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling parity-codec v3.5.4
[INFO] [stderr]    Compiling impl-serde v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.40
[INFO] [stderr]    Compiling toml v0.5.1
[INFO] [stderr]    Compiling ethbloom v0.6.4
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling parking_lot_core v0.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.5.0
[INFO] [stderr]    Compiling parking_lot v0.8.0
[INFO] [stderr]    Compiling impl-codec v0.2.0
[INFO] [stderr]    Compiling primitive-types v0.3.0
[INFO] [stderr]    Compiling synstructure v0.10.2
[INFO] [stderr]    Compiling parking_lot v0.7.1
[INFO] [stderr]    Compiling proc-macro-crate v0.1.4
[INFO] [stderr]    Compiling tokio-reactor v0.1.9
[INFO] [stderr]    Compiling tokio-tcp v0.1.3
[INFO] [stderr]    Compiling tokio-uds v0.2.5
[INFO] [stderr]    Compiling tokio-udp v0.1.3
[INFO] [stderr]    Compiling serde_derive v1.0.94
[INFO] [stderr]    Compiling derive_more v0.14.1
[INFO] [stderr]    Compiling jsonrpc-derive v12.0.0
[INFO] [stderr]    Compiling ethereum-types v0.6.0
[INFO] [stderr]    Compiling tokio v0.1.22
[INFO] [stderr]    Compiling ethcore-io v1.12.0 (https://github.com/paritytech/parity-ethereum.git#fe7bc545)
[INFO] [stderr]    Compiling zeroize_derive v0.9.0
[INFO] [stderr]    Compiling malloc_size_of_derive v0.1.0
[INFO] [stderr]    Compiling zeroize v0.9.2
[INFO] [stderr]    Compiling parity-util-mem v0.1.0
[INFO] [stderr]    Compiling parity-snappy v0.1.0
[INFO] [stderr]    Compiling ethkey v0.3.0 (https://github.com/paritytech/parity-ethereum.git#fe7bc545)
[INFO] [stderr]    Compiling jsonrpc-core v12.0.0
[INFO] [stderr]    Compiling ethcore-network v1.12.0 (https://github.com/paritytech/parity-ethereum.git#fe7bc545)
[INFO] [stderr]    Compiling jsonrpc-pubsub v12.0.0
[INFO] [stderr]    Compiling parity-whisper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature = "time_checked_add", feature(time_checked_add))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `time_checked_add` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stdout]   --> src/message.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |     fn disconnect_peer(&self, PeerId);
[INFO] [stdout]     |                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     fn disable_peer(&self, PeerId);
[INFO] [stdout]     |                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:393:21
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn node_key(&self, PeerId) -> Option<NodeId>;
[INFO] [stdout]     |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:29
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: ProtocolId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:41
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:25
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                            ^^ help: try naming the parameter or explicitly ignoring it: `_: u8`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |         0 ... 8 => Some(1),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |         0 ... 16 => Some(2),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |         0 ... 24 => Some(3),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn add_private_key(&self, types::Private) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Private`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn add_sym_key(&self, types::Symmetric) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Symmetric`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:96:23
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_public(&self, types::Identity) -> Result<types::Public, Error>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_private(&self, types::Identity) -> Result<types::Private, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn get_symmetric(&self, types::Identity) -> Result<types::Symmetric, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:111:23
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn remove_key(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn post(&self, types::PostRequest) -> Result<bool, Error>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::PostRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new_filter(&self, types::FilterRequest) -> Result<types::Identity, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn poll_changes(&self, types::Identity) -> Result<Vec<types::FilterItem>, Error>;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn delete_filter(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Subscriber<types::FilterItem>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:69
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Self::Metadata>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:48
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: SubscriptionId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tx: Mutex<mpsc::Sender<Box<Fn() + Send>>>,
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tx: Mutex<mpsc::Sender<Box<dyn Fn() + Send>>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:689:28
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &NetworkContext) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &dyn NetworkContext) {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:695:22
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &dyn NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:699:27
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:704:31
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:708:25
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &NetworkContext, timer: TimerToken) {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &dyn NetworkContext, timer: TimerToken) {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:722:29
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &NetworkContext) { }
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &dyn NetworkContext) { }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:724:23
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &dyn NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:726:28
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:728:31
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:730:26
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &NetworkContext, _timer: TimerToken) { }
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &dyn NetworkContext, _timer: TimerToken) { }
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<Fn() + Send>>();
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<dyn Fn() + Send>>();
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net/mod.rs:294:10
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn iter(&self) -> ::slab::Iter<Message, usize> {
[INFO] [stdout]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn iter(&self) -> ::slab::Iter<'_, Message, usize> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rpc/payload.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded, &'static str> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded<'_>, &'static str> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Receiver`
[INFO] [stdout] 149 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 150 | pub enum Receiver {
[INFO] [stdout]     |          -------- `Receiver` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PostRequest`
[INFO] [stdout] 157 | pub struct PostRequest {
[INFO] [stdout]     |            ----------- `PostRequest` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FilterRequest`
[INFO] [stdout] 193 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 194 | pub struct FilterRequest {
[INFO] [stdout]     |            ------------- `FilterRequest` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FilterItem`
[INFO] [stdout] 211 | pub struct FilterItem {
[INFO] [stdout]     |            ---------- `FilterItem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeInfo`
[INFO] [stdout] 240 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 241 | pub struct NodeInfo {
[INFO] [stdout]     |            -------- `NodeInfo` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.94s
[INFO] running `Command { std: "docker" "inspect" "3f8c2b4ccb6d5941105ea53c59ca4fa5a46f5f1e4591e31d12ff4ff3b8638d16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f8c2b4ccb6d5941105ea53c59ca4fa5a46f5f1e4591e31d12ff4ff3b8638d16", kill_on_drop: false }`
[INFO] [stdout] 3f8c2b4ccb6d5941105ea53c59ca4fa5a46f5f1e4591e31d12ff4ff3b8638d16
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07dd564240b5c408f2b4e630790343f290c87d402f103186987cf3d138dc6f67
[INFO] running `Command { std: "docker" "start" "-a" "07dd564240b5c408f2b4e630790343f290c87d402f103186987cf3d138dc6f67", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `parity-whisper` (manifest) generated 1 warning
[INFO] [stderr] warning: cli/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `whisper-cli` (manifest) generated 1 warning
[INFO] [stdout] warning: unexpected `cfg` condition value: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature = "time_checked_add", feature(time_checked_add))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `time_checked_add` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stdout]   --> src/message.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |     fn disconnect_peer(&self, PeerId);
[INFO] [stdout]     |                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     fn disable_peer(&self, PeerId);
[INFO] [stdout]     |                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:393:21
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn node_key(&self, PeerId) -> Option<NodeId>;
[INFO] [stdout]     |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:29
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: ProtocolId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:41
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:25
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                            ^^ help: try naming the parameter or explicitly ignoring it: `_: u8`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |         0 ... 8 => Some(1),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |         0 ... 16 => Some(2),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |         0 ... 24 => Some(3),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling parity-whisper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn add_private_key(&self, types::Private) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Private`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn add_sym_key(&self, types::Symmetric) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Symmetric`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:96:23
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_public(&self, types::Identity) -> Result<types::Public, Error>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_private(&self, types::Identity) -> Result<types::Private, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn get_symmetric(&self, types::Identity) -> Result<types::Symmetric, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:111:23
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn remove_key(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn post(&self, types::PostRequest) -> Result<bool, Error>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::PostRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new_filter(&self, types::FilterRequest) -> Result<types::Identity, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn poll_changes(&self, types::Identity) -> Result<Vec<types::FilterItem>, Error>;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn delete_filter(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Subscriber<types::FilterItem>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:69
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Self::Metadata>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:48
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: SubscriptionId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tx: Mutex<mpsc::Sender<Box<Fn() + Send>>>,
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tx: Mutex<mpsc::Sender<Box<dyn Fn() + Send>>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:689:28
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &NetworkContext) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &dyn NetworkContext) {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:695:22
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &dyn NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:699:27
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:704:31
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:708:25
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &NetworkContext, timer: TimerToken) {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &dyn NetworkContext, timer: TimerToken) {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:722:29
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &NetworkContext) { }
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &dyn NetworkContext) { }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:724:23
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &dyn NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:726:28
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:728:31
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:730:26
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &NetworkContext, _timer: TimerToken) { }
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &dyn NetworkContext, _timer: TimerToken) { }
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<Fn() + Send>>();
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<dyn Fn() + Send>>();
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net/mod.rs:294:10
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn iter(&self) -> ::slab::Iter<Message, usize> {
[INFO] [stdout]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn iter(&self) -> ::slab::Iter<'_, Message, usize> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rpc/payload.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded, &'static str> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded<'_>, &'static str> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Receiver`
[INFO] [stdout] 149 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 150 | pub enum Receiver {
[INFO] [stdout]     |          -------- `Receiver` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PostRequest`
[INFO] [stdout] 157 | pub struct PostRequest {
[INFO] [stdout]     |            ----------- `PostRequest` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FilterRequest`
[INFO] [stdout] 193 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 194 | pub struct FilterRequest {
[INFO] [stdout]     |            ------------- `FilterRequest` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FilterItem`
[INFO] [stdout] 211 | pub struct FilterItem {
[INFO] [stdout]     |            ---------- `FilterItem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeInfo`
[INFO] [stdout] 240 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 241 | pub struct NodeInfo {
[INFO] [stdout]     |            -------- `NodeInfo` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature = "time_checked_add", feature(time_checked_add))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `time_checked_add` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stdout]   --> src/message.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethereum_types::H256`
[INFO] [stdout]    --> src/message.rs:464:6
[INFO] [stdout]     |
[INFO] [stdout] 464 |     use ethereum_types::H256;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |     fn disconnect_peer(&self, PeerId);
[INFO] [stdout]     |                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     fn disable_peer(&self, PeerId);
[INFO] [stdout]     |                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:393:21
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn node_key(&self, PeerId) -> Option<NodeId>;
[INFO] [stdout]     |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:29
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: ProtocolId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:41
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:25
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                            ^^ help: try naming the parameter or explicitly ignoring it: `_: u8`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |         0 ... 8 => Some(1),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |         0 ... 16 => Some(2),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |         0 ... 24 => Some(3),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn add_private_key(&self, types::Private) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Private`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn add_sym_key(&self, types::Symmetric) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Symmetric`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:96:23
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_public(&self, types::Identity) -> Result<types::Public, Error>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_private(&self, types::Identity) -> Result<types::Private, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn get_symmetric(&self, types::Identity) -> Result<types::Symmetric, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:111:23
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn remove_key(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn post(&self, types::PostRequest) -> Result<bool, Error>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::PostRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new_filter(&self, types::FilterRequest) -> Result<types::Identity, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn poll_changes(&self, types::Identity) -> Result<Vec<types::FilterItem>, Error>;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn delete_filter(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Subscriber<types::FilterItem>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:69
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Self::Metadata>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:48
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: SubscriptionId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tx: Mutex<mpsc::Sender<Box<Fn() + Send>>>,
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tx: Mutex<mpsc::Sender<Box<dyn Fn() + Send>>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:689:28
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &NetworkContext) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &dyn NetworkContext) {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:695:22
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &dyn NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:699:27
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:704:31
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:708:25
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &NetworkContext, timer: TimerToken) {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &dyn NetworkContext, timer: TimerToken) {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:722:29
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &NetworkContext) { }
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &dyn NetworkContext) { }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:724:23
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &dyn NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:726:28
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:728:31
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:730:26
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &NetworkContext, _timer: TimerToken) { }
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &dyn NetworkContext, _timer: TimerToken) { }
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<Fn() + Send>>();
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<dyn Fn() + Send>>();
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net/mod.rs:294:10
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn iter(&self) -> ::slab::Iter<Message, usize> {
[INFO] [stdout]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn iter(&self) -> ::slab::Iter<'_, Message, usize> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rpc/payload.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded, &'static str> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded<'_>, &'static str> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Receiver`
[INFO] [stdout] 149 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 150 | pub enum Receiver {
[INFO] [stdout]     |          -------- `Receiver` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PostRequest`
[INFO] [stdout] 157 | pub struct PostRequest {
[INFO] [stdout]     |            ----------- `PostRequest` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FilterRequest`
[INFO] [stdout] 193 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 194 | pub struct FilterRequest {
[INFO] [stdout]     |            ------------- `FilterRequest` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FilterItem`
[INFO] [stdout] 211 | pub struct FilterItem {
[INFO] [stdout]     |            ---------- `FilterItem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeInfo`
[INFO] [stdout] 240 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 241 | pub struct NodeInfo {
[INFO] [stdout]     |            -------- `NodeInfo` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.84s
[INFO] running `Command { std: "docker" "inspect" "07dd564240b5c408f2b4e630790343f290c87d402f103186987cf3d138dc6f67", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07dd564240b5c408f2b4e630790343f290c87d402f103186987cf3d138dc6f67", kill_on_drop: false }`
[INFO] [stdout] 07dd564240b5c408f2b4e630790343f290c87d402f103186987cf3d138dc6f67
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 63a09efc49656af1770ec95dc019065e1103f56a08e3ef2fc5917f202689f017
[INFO] running `Command { std: "docker" "start" "-a" "63a09efc49656af1770ec95dc019065e1103f56a08e3ef2fc5917f202689f017", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `parity-whisper` (manifest) generated 1 warning
[INFO] [stderr] warning: cli/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `whisper-cli` (manifest) generated 1 warning
[INFO] [stderr] warning: unexpected `cfg` condition value: `time_checked_add`
[INFO] [stderr]   --> src/lib.rs:20:13
[INFO] [stderr]    |
[INFO] [stderr] 20 | #![cfg_attr(feature = "time_checked_add", feature(time_checked_add))]
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `time_checked_add` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stderr]   --> src/lib.rs:53:11
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[cfg(not(time_checked_add))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stderr]   --> src/message.rs:27:11
[INFO] [stderr]    |
[INFO] [stderr] 27 | #[cfg(not(time_checked_add))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:389:28
[INFO] [stderr]     |
[INFO] [stderr] 389 |     fn disconnect_peer(&self, PeerId);
[INFO] [stderr]     |                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:391:25
[INFO] [stderr]     |
[INFO] [stderr] 391 |     fn disable_peer(&self, PeerId);
[INFO] [stderr]     |                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:393:21
[INFO] [stderr]     |
[INFO] [stderr] 393 |     fn node_key(&self, PeerId) -> Option<NodeId>;
[INFO] [stderr]     |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:395:29
[INFO] [stderr]     |
[INFO] [stderr] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stderr]     |                                ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: ProtocolId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:395:41
[INFO] [stderr]     |
[INFO] [stderr] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stderr]     |                                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:397:17
[INFO] [stderr]     |
[INFO] [stderr] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stderr]     |                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:397:25
[INFO] [stderr]     |
[INFO] [stderr] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stderr]     |                            ^^ help: try naming the parameter or explicitly ignoring it: `_: u8`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:397:29
[INFO] [stderr]     |
[INFO] [stderr] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stderr]     |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/rpc/payload.rs:45:1
[INFO] [stderr]    |
[INFO] [stderr] 45 | / bitflags! {
[INFO] [stderr] 46 | |     struct Flags: u8 {
[INFO] [stderr] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stderr] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stderr] ...  |
[INFO] [stderr] 51 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/rpc/payload.rs:45:1
[INFO] [stderr]    |
[INFO] [stderr] 45 | / bitflags! {
[INFO] [stderr] 46 | |     struct Flags: u8 {
[INFO] [stderr] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stderr] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stderr] ...  |
[INFO] [stderr] 51 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/rpc/payload.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 |         0 ... 8 => Some(1),
[INFO] [stderr]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/rpc/payload.rs:70:5
[INFO] [stderr]    |
[INFO] [stderr] 70 |         0 ... 16 => Some(2),
[INFO] [stderr]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/rpc/payload.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 |         0 ... 24 => Some(3),
[INFO] [stderr]    |           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]    --> src/rpc/types.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | #[derive(Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]    --> src/rpc/types.rs:156:10
[INFO] [stderr]     |
[INFO] [stderr] 156 | #[derive(Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]    --> src/rpc/types.rs:192:10
[INFO] [stderr]     |
[INFO] [stderr] 192 | #[derive(Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]    --> src/rpc/types.rs:210:10
[INFO] [stderr]     |
[INFO] [stderr] 210 | #[derive(Serialize, Clone)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]    --> src/rpc/types.rs:239:10
[INFO] [stderr]     |
[INFO] [stderr] 239 | #[derive(Serialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]     = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/rpc/mod.rs:84:28
[INFO] [stderr]    |
[INFO] [stderr] 84 |     fn add_private_key(&self, types::Private) -> Result<types::Identity, Error>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Private`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/rpc/mod.rs:92:24
[INFO] [stderr]    |
[INFO] [stderr] 92 |     fn add_sym_key(&self, types::Symmetric) -> Result<types::Identity, Error>;
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Symmetric`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/rpc/mod.rs:96:23
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn get_public(&self, types::Identity) -> Result<types::Public, Error>;
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:100:24
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn get_private(&self, types::Identity) -> Result<types::Private, Error>;
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:104:26
[INFO] [stderr]     |
[INFO] [stderr] 104 |     fn get_symmetric(&self, types::Identity) -> Result<types::Symmetric, Error>;
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:111:23
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn remove_key(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:115:17
[INFO] [stderr]     |
[INFO] [stderr] 115 |     fn post(&self, types::PostRequest) -> Result<bool, Error>;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::PostRequest`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:119:23
[INFO] [stderr]     |
[INFO] [stderr] 119 |     fn new_filter(&self, types::FilterRequest) -> Result<types::Identity, Error>;
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:123:25
[INFO] [stderr]     |
[INFO] [stderr] 123 |     fn poll_changes(&self, types::Identity) -> Result<Vec<types::FilterItem>, Error>;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:127:26
[INFO] [stderr]     |
[INFO] [stderr] 127 |     fn delete_filter(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:138:22
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:138:38
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Subscriber<types::FilterItem>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:138:69
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stderr]     |                                                                        ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:143:24
[INFO] [stderr]     |
[INFO] [stderr] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Self::Metadata>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:143:48
[INFO] [stderr]     |
[INFO] [stderr] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: SubscriptionId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/rpc/filter.rs:51:29
[INFO] [stderr]    |
[INFO] [stderr] 51 |     tx: Mutex<mpsc::Sender<Box<Fn() + Send>>>,
[INFO] [stderr]    |                                ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 51 |     tx: Mutex<mpsc::Sender<Box<dyn Fn() + Send>>>,
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:689:28
[INFO] [stderr]     |
[INFO] [stderr] 689 |     fn initialize(&self, io: &NetworkContext) {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 689 |     fn initialize(&self, io: &dyn NetworkContext) {
[INFO] [stderr]     |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:695:22
[INFO] [stderr]     |
[INFO] [stderr] 695 |     fn read(&self, io: &NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 695 |     fn read(&self, io: &dyn NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stderr]     |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:699:27
[INFO] [stderr]     |
[INFO] [stderr] 699 |     fn connected(&self, io: &NetworkContext, peer: &PeerId) {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 699 |     fn connected(&self, io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:704:31
[INFO] [stderr]     |
[INFO] [stderr] 704 |     fn disconnected(&self, _io: &NetworkContext, peer: &PeerId) {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 704 |     fn disconnected(&self, _io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:708:25
[INFO] [stderr]     |
[INFO] [stderr] 708 |     fn timeout(&self, io: &NetworkContext, timer: TimerToken) {
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 708 |     fn timeout(&self, io: &dyn NetworkContext, timer: TimerToken) {
[INFO] [stderr]     |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:722:29
[INFO] [stderr]     |
[INFO] [stderr] 722 |     fn initialize(&self, _io: &NetworkContext) { }
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 722 |     fn initialize(&self, _io: &dyn NetworkContext) { }
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:724:23
[INFO] [stderr]     |
[INFO] [stderr] 724 |     fn read(&self, _io: &NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 724 |     fn read(&self, _io: &dyn NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stderr]     |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:726:28
[INFO] [stderr]     |
[INFO] [stderr] 726 |     fn connected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 726 |     fn connected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stderr]     |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:728:31
[INFO] [stderr]     |
[INFO] [stderr] 728 |     fn disconnected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 728 |     fn disconnected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:730:26
[INFO] [stderr]     |
[INFO] [stderr] 730 |     fn timeout(&self, _io: &NetworkContext, _timer: TimerToken) { }
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 730 |     fn timeout(&self, _io: &dyn NetworkContext, _timer: TimerToken) { }
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/rpc/filter.rs:60:38
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let (tx, rx) = mpsc::channel::<Box<Fn() + Send>>();
[INFO] [stderr]    |                                            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let (tx, rx) = mpsc::channel::<Box<dyn Fn() + Send>>();
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/net/mod.rs:294:10
[INFO] [stderr]     |
[INFO] [stderr] 294 |     fn iter(&self) -> ::slab::Iter<Message, usize> {
[INFO] [stderr]     |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |             |
[INFO] [stderr]     |             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 294 |     fn iter(&self) -> ::slab::Iter<'_, Message, usize> {
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/rpc/payload.rs:169:24
[INFO] [stderr]     |
[INFO] [stderr] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded, &'static str> {
[INFO] [stderr]     |                        ^^^^^            ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded<'_>, &'static str> {
[INFO] [stderr]     |                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rpc/types.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | #[derive(Deserialize)]
[INFO] [stderr]     |          ^----------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Deserialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Receiver`
[INFO] [stderr] 149 | #[serde(rename_all = "camelCase")]
[INFO] [stderr] 150 | pub enum Receiver {
[INFO] [stderr]     |          -------- `Receiver` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rpc/types.rs:156:10
[INFO] [stderr]     |
[INFO] [stderr] 156 | #[derive(Deserialize)]
[INFO] [stderr]     |          ^----------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Deserialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PostRequest`
[INFO] [stderr] 157 | pub struct PostRequest {
[INFO] [stderr]     |            ----------- `PostRequest` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rpc/types.rs:192:10
[INFO] [stderr]     |
[INFO] [stderr] 192 | #[derive(Deserialize)]
[INFO] [stderr]     |          ^----------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Deserialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FilterRequest`
[INFO] [stderr] 193 | #[serde(rename_all = "camelCase")]
[INFO] [stderr] 194 | pub struct FilterRequest {
[INFO] [stderr]     |            ------------- `FilterRequest` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rpc/types.rs:210:10
[INFO] [stderr]     |
[INFO] [stderr] 210 | #[derive(Serialize, Clone)]
[INFO] [stderr]     |          ^--------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Serialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FilterItem`
[INFO] [stderr] 211 | pub struct FilterItem {
[INFO] [stderr]     |            ---------- `FilterItem` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rpc/types.rs:239:10
[INFO] [stderr]     |
[INFO] [stderr] 239 | #[derive(Serialize)]
[INFO] [stderr]     |          ^--------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Serialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeInfo`
[INFO] [stderr] 240 | #[serde(rename_all = "camelCase")]
[INFO] [stderr] 241 | pub struct NodeInfo {
[INFO] [stderr]     |            -------- `NodeInfo` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ethereum_types::H256`
[INFO] [stderr]    --> src/message.rs:464:6
[INFO] [stderr]     |
[INFO] [stderr] 464 |     use ethereum_types::H256;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `parity-whisper` (lib) generated 56 warnings (1 duplicate) (run `cargo fix --lib -p parity-whisper` to apply 40 suggestions)
[INFO] [stderr] warning: `parity-whisper` (lib test) generated 57 warnings (56 duplicates) (run `cargo fix --lib -p parity-whisper --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/parity_whisper-271e85c0064834c7)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test aes_gcm::tests::aes_gcm_256 ... ok
[INFO] [stdout] test message::tests::round_trip ... ok
[INFO] [stdout] test message::tests::work_factor ... ok
[INFO] [stdout] test rpc::crypto::tests::encrypt_symmetric ... ok
[INFO] [stdout] test rpc::crypto::tests::encrypt_broadcast ... ok
[INFO] [stdout] test rpc::payload::tests::encode_decode_roundtrip ... ok
[INFO] [stdout] test rpc::payload::tests::encode_empty ... ok
[INFO] [stdout] test rpc::payload::tests::encode_with_padding ... ok
[INFO] [stdout] test rpc::filter::tests::rejects_empty_topics ... ok
[INFO] [stdout] test rpc::filter::tests::basic_match ... ok
[INFO] [stdout] test message::tests::round_trip_multitopic ... ok
[INFO] [stdout] test message::tests::passes_checks ... ok
[INFO] [stdout] test rpc::payload::tests::padding_len_bytes_sanity ... ok
[INFO] [stdout] test rpc::types::tests::deserialize_topic ... ok
[INFO] [stdout] test rpc::types::tests::test_bytes_serialize ... ok
[INFO] [stdout] test rpc::types::tests::test_bytes_deserialize ... ok
[INFO] [stdout] test net::tests::message_gets_relayed ... ok
[INFO] [stdout] test message::tests::create_message ... ok
[INFO] [stdout] test message::tests::future_message - should panic ... ok
[INFO] [stdout] test message::tests::pre_epoch - should panic ... ok
[INFO] [stdout] test rpc::key_store::tests::rejects_invalid_secret ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'rpc::filter::tests::decrypt_and_decode' (31) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.4.10/src/lib.rs:338:33:
[INFO] [stderr] unsafe precondition(s) violated: slice::get_unchecked_mut requires that the index is within the slice
[INFO] [stderr] 
[INFO] [stderr] This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety.
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x5b66e573d6a8 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x5b66e573d6a8 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x5b66e573d6a8 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stderr]    3:     0x5b66e573d6a8 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stderr]    4:     0x5b66e5751dba - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stderr]    5:     0x5b66e5751dba - core[28b146924c2f19c6]::fmt::write
[INFO] [stderr]    6:     0x5b66e5742b72 - std[929523f510218772]::io::default_write_fmt::<std[929523f510218772]::sys::stdio::unix::Stderr>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stderr]    7:     0x5b66e5742b72 - <std[929523f510218772]::sys::stdio::unix::Stderr as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stderr]    8:     0x5b66e571c796 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stderr]    9:     0x5b66e571c796 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stderr]   10:     0x5b66e5735b01 - std[929523f510218772]::panicking::default_hook
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:319:9
[INFO] [stderr]   11:     0x5b66e55f3adc - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stderr]   12:     0x5b66e55f3adc - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stderr]   13:     0x5b66e5735cf2 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stderr]   14:     0x5b66e5735cf2 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stderr]   15:     0x5b66e571c884 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:691:13
[INFO] [stderr]   16:     0x5b66e5711a29 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stderr]   17:     0x5b66e571d56d - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stderr]   18:     0x5b66e575236d - core[28b146924c2f19c6]::panicking::panic_nounwind_fmt::runtime
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:122:22
[INFO] [stderr]   19:     0x5b66e575236d - core[28b146924c2f19c6]::panicking::panic_nounwind_fmt
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/intrinsics/mod.rs:2450:9
[INFO] [stderr]   20:     0x5b66e56486f4 - <usize as core[28b146924c2f19c6]::slice::index::SliceIndex<[_]>>::get_unchecked_mut::precondition_check
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ub_checks.rs:73:21
[INFO] [stderr]   21:     0x5b66e5648979 - <usize as core[28b146924c2f19c6]::slice::index::SliceIndex<[u8]>>::get_unchecked_mut
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ub_checks.rs:78:17
[INFO] [stderr]   22:     0x5b66e5642059 - <[u8]>::get_unchecked_mut::<usize>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/slice/mod.rs:691:30
[INFO] [stderr]   23:     0x5b66e5642d25 - <arrayvec[84f33ee4378db645]::ArrayVec<[u8; 72usize]>>::pop
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.4.10/src/lib.rs:338:33
[INFO] [stderr]   24:     0x5b66e5642d79 - <arrayvec[84f33ee4378db645]::ArrayVec<[u8; 72usize]>>::clear
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.4.10/src/lib.rs:461:34
[INFO] [stderr]   25:     0x5b66e564323b - <arrayvec[84f33ee4378db645]::ArrayVec<[u8; 72usize]> as core[28b146924c2f19c6]::ops::drop::Drop>::drop
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.4.10/src/lib.rs:96:14
[INFO] [stderr]   26:     0x5b66e564262b - core[28b146924c2f19c6]::ptr::drop_glue::<arrayvec[84f33ee4378db645]::ArrayVec<[u8; 72usize]>>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ptr/mod.rs:825:1
[INFO] [stderr]   27:     0x5b66e5647a19 - <ethkey[aa0e2aa419afdc28]::keypair::KeyPair>::from_keypair
[INFO] [stderr]                                at /opt/rustwide/cargo-home/git/checkouts/parity-ethereum-d44c542dfddf695b/fe7bc54/accounts/ethkey/src/keypair.rs:78:2
[INFO] [stderr]   28:     0x5b66e5642497 - <rand_os[f435c235d62a851]::OsRng as ethkey[aa0e2aa419afdc28]::Generator>::generate
[INFO] [stderr]                                at /opt/rustwide/cargo-home/git/checkouts/parity-ethereum-d44c542dfddf695b/fe7bc54/accounts/ethkey/src/random.rs:42:6
[INFO] [stderr]   29:     0x5b66e559d314 - <parity_whisper[dd5f85659ea33e96]::rpc::key_store::Key>::new_asymmetric
[INFO] [stderr]                                at /opt/rustwide/workdir/src/rpc/key_store.rs:45:9
[INFO] [stderr]   30:     0x5b66e55bba82 - parity_whisper[dd5f85659ea33e96]::rpc::filter::tests::decrypt_and_decode
[INFO] [stderr]                                at /opt/rustwide/workdir/src/rpc/filter.rs:385:22
[INFO] [stderr]   31:     0x5b66e55b7f37 - parity_whisper[dd5f85659ea33e96]::rpc::filter::tests::decrypt_and_decode::{closure#0}
[INFO] [stderr]                                at /opt/rustwide/workdir/src/rpc/filter.rs:377:25
[INFO] [stderr]   32:     0x5b66e55d0d26 - <parity_whisper[dd5f85659ea33e96]::rpc::filter::tests::decrypt_and_decode::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   33:     0x5b66e55e6bbb - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   34:     0x5b66e55e6bbb - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stderr]   35:     0x5b66e55f4435 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stderr]   36:     0x5b66e55f4435 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stderr]   37:     0x5b66e55f4435 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stderr]   38:     0x5b66e55f4435 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stderr]   39:     0x5b66e55f4435 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stderr]   40:     0x5b66e55f4435 - test[6ec0502068880816]::run_test_in_process
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stderr]   41:     0x5b66e55f4435 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stderr]   42:     0x5b66e55eef94 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stderr]   43:     0x5b66e55eef94 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]   44:     0x5b66e55f74b2 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stderr]   45:     0x5b66e55f74b2 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stderr]   46:     0x5b66e55f74b2 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stderr]   47:     0x5b66e55f74b2 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stderr]   48:     0x5b66e55f74b2 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stderr]   49:     0x5b66e55f74b2 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stderr]   50:     0x5b66e55f74b2 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   51:     0x5b66e573d00f - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stderr]   52:     0x5b66e573d00f - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stderr]   53:     0x7aaf9b8d0aa4 - <unknown>
[INFO] [stderr]   54:     0x7aaf9b95da64 - clone
[INFO] [stderr]   55:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/parity_whisper-271e85c0064834c7` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "63a09efc49656af1770ec95dc019065e1103f56a08e3ef2fc5917f202689f017", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "63a09efc49656af1770ec95dc019065e1103f56a08e3ef2fc5917f202689f017", kill_on_drop: false }`
[INFO] [stdout] 63a09efc49656af1770ec95dc019065e1103f56a08e3ef2fc5917f202689f017
